package com.example.tableapplication;


import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckBox;

import java.util.ArrayList;
import java.util.List;

public class TableAdapter extends BaseAdapter {

    private Context context;
    private List<TableRow> table;
    public static List<CheckBox> checkBoxes=new ArrayList<CheckBox>();  //定义列表，用于存放加载数据中所有复选框的勾选状态
    public TableAdapter(Context context, List<TableRow> table) {
        this.context = context;
        this.table = table;
        for (int i = 0; i <((table.size()-MainActivity_2.headlen)/MainActivity_2.bodylen)+1 ; i++) {      //复选框的个数为：count=行总数/8，创建count个复选框设置初始勾选状态为false
            CheckBox checkBox=new CheckBox(context);    //通过在TableRowView中的checkbox事件监听中改变该列表中对应的复选框的勾选状态
            checkBoxes.add(checkBox);                   //将TableRowView中的checkbox的勾选状态设为改列表中对应位置的复选框的勾选状态
            checkBoxes.get(i).setChecked(false);        //相当于将表格中的checkbox的勾选状态存储到该列表中的相应位置，然后在需要的时候再取出来。
        }
    }

    @Override
    public int getCount() {
        return table.size();
    }

    @Override
    public long getItemId(int arg0) {
        return arg0;
    }

    @Override
    public View getView(int arg0, View arg1, ViewGroup arg2) {
        TableRow tableRow = table.get(arg0);
        return new TableRowView(this.context, tableRow,arg0);
    }

    @Override
    public Object getItem(int arg0) {
        return arg0;
    }

}